/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package wasolicitudesfiec.consultas;
import entidad.Parametro;
import java.sql.*;
import java.util.Vector;
/**
 *
 * @author Administrador
 */
public class ConsultasParametro{
private Connection con;

public boolean modificarParametro(int fkIdCategoria, int fkIdParent, int idParametro, String nombre) throws SQLException{
boolean exitoOperacion = true;

PreparedStatement proc=con.prepareStatement(
"call modificarParametro(?,?,?,?) ");
proc.setInt(1, fkIdCategoria);
proc.setInt(2, fkIdParent);
proc.setInt(3, idParametro);
proc.setString(4, nombre);
proc.execute();
return exitoOperacion;


}



public void setConexion(Connection con) {
this.con=con;
}

public boolean HLmodificarParametro(Parametro val) throws SQLException{
return modificarParametro(val.getFkIdCategoria(), val.getFkIdParent(), val.getIdParametro(), val.getNombre());
}

public boolean eliminarParametro(int idParametro) throws SQLException{
boolean exitoOperacion = true;

PreparedStatement proc=con.prepareStatement(
"call eliminarParametro(?) ");
proc.setInt(1, idParametro);
proc.execute();
return exitoOperacion;


}

public boolean HLeliminarParametro(Parametro val) throws SQLException{
return eliminarParametro(val.getIdParametro());
}

public Parametro nuevoParametro(int fkIdCategoria, int fkIdParent, String nombre) throws SQLException{
Parametro reg=new Parametro();

PreparedStatement proc=con.prepareStatement(
"call nuevoParametro(?,?,?) ");
proc.setInt(1, fkIdCategoria);
proc.setInt(2, fkIdParent);
proc.setString(3, nombre);
ResultSet rs=proc.executeQuery();
if (rs.next()) {
reg.setFkIdCategoria(rs.getInt(1));
reg.setFkIdParent(rs.getInt(2));
reg.setIdParametro(rs.getInt(3));
reg.setNombre(rs.getString(4));
}else reg=null;
return reg;


}

public Parametro HLnuevoParametro(Parametro val) throws SQLException{
return nuevoParametro(val.getFkIdCategoria(), val.getFkIdParent(), val.getNombre());
}

public Parametro leerParametro(int idParametro) throws SQLException{
Parametro reg=new Parametro();

PreparedStatement proc=con.prepareStatement(
"call leerParametro(?) ");
proc.setInt(1, idParametro);
ResultSet rs=proc.executeQuery();
if (rs.next()) {
reg.setFkIdCategoria(rs.getInt(1));
reg.setFkIdParent(rs.getInt(2));
reg.setIdParametro(rs.getInt(3));
reg.setNombre(rs.getString(4));
}else reg=null;
return reg;


}

public Parametro HLleerParametro(Parametro val) throws SQLException{
return leerParametro(val.getIdParametro());
}

public Vector<Parametro> leerVariosParametro() throws SQLException{
Vector<Parametro> datos=new Vector<Parametro>();
Parametro reg;

PreparedStatement proc=con.prepareStatement(
"call leerVariosParametro() ");
ResultSet rs=proc.executeQuery();
while (rs.next()) {
reg = new Parametro();
reg.setFkIdCategoria(rs.getInt(1));
reg.setFkIdParent(rs.getInt(2));
reg.setIdParametro(rs.getInt(3));
reg.setNombre(rs.getString(4));
datos.add(reg);
}//end while
return datos;


}

public Vector<Parametro> HLleerVariosParametro(Parametro val) throws SQLException{
return leerVariosParametro();
}


public Vector<Parametro> HLleerVariosParametroPorIdCategoria(int idCategoria, Parametro val) throws SQLException{
return leerVariosParametroPorIdCategoria(idCategoria);
}

public Vector<Parametro> leerVariosParametroPorIdCategoria(int idCategoria) throws SQLException{
Vector<Parametro> datos=new Vector<Parametro>();
Parametro reg;

PreparedStatement proc=con.prepareStatement(
"call leerVariosParametroPorIdCategoria(?) ");
proc.setInt(1, idCategoria);
ResultSet rs=proc.executeQuery();
while (rs.next()) {
reg = new Parametro();
reg.setFkIdCategoria(rs.getInt(1));
reg.setFkIdParent(rs.getInt(2));
reg.setIdParametro(rs.getInt(3));
reg.setNombre(rs.getString(4));
datos.add(reg);
}//end while
return datos;


}


public Vector<Parametro> leerVariosParametroPorIdfkParent(int idfkParent) throws SQLException{
Vector<Parametro> datos=new Vector<Parametro>();
Parametro reg;

PreparedStatement proc=con.prepareStatement(
"call leerVariosParametroPorIdfkParent(?) ");
proc.setInt(1, idfkParent);
ResultSet rs=proc.executeQuery();
while (rs.next()) {
reg = new Parametro();
reg.setFkIdCategoria(rs.getInt(1));
reg.setFkIdParent(rs.getInt(2));
reg.setIdParametro(rs.getInt(3));
reg.setNombre(rs.getString(4));
datos.add(reg);
}//end while
return datos;


}

}// FIN CLASE: ConsultasParametro
